---
title: "Import Products"
description: "How to import products files in the Spree Commerce dashboard."
---

Adding products one at a time can be time consuming - especially when you're dealing with hundreds or thousands of SKUs. 

Spree’s CSV importer allows you to upload products in bulk using a pre-formatted CSV file, dramatically reducing the time required to launch or scale your catalog.

Need an example? Please refer to [<u>Product Import File Template</u>](https://spreecommerce.org/docs/user/manage-products/product-import-file-template) to download a template and see a list of internal fields.

<Note>Your product file does not need to exactly match the import template. Thanks to the field mapping step, you can manually match each column to the appropriate internal field during import (see Step 2 below).</Note>

## How to Import Products

To get started, navigate to the Products tab of the admin dashboard.

![Spree Commerce products tab](/docs/images/user/products/import-products/1-products-tab.png)

Click **Import**  in the top right corner. This will open a side panel where you can begin the import process.

![Spree product importer](/docs/images/user/products/import-products/2-click-import.png)

From here, simply follow these steps to import your product catalog:

### Step 1: Upload a Product File

![Uploading a product file to Spree](/docs/images/user/products/import-products/3-upload-file.png)

First, you’ll need to upload the file you wish to import. Either **drag-and-drop the file** into the box or select a file from your computer by clicking **browse files**.

<Note>The importer supports both single and multi-variant products - just follow the multi-variant format in the [<u>Product File Import Template</u>](https://spreecommerce.org/docs/user/manage-products/product-import-file-template).</Note>

If successful, the UI will indicate that the upload was completed:

![Successfully uploaded product file](/docs/images/user/products/import-products/4-upload-complete.png)

<Note>Double-check for any formatting issues, data type mismatches, and duplicates before uploading.</Note>

#### Select a Delimiter

![Spree CSV importer delimiter](/docs/images/user/products/import-products/5-delimiter.png)

Before processing the file, you need to select which delimiter separates values in your file:

- , (comma) - most common for CSVs
- | (pipe)
- ; (semicolon)
- \\t (tab)

Once the file has been uploaded and the correct delimiter has been selected, click **Create** at the bottom of the side panel to continue to Step 2.

### Step 2: Map Fields and Submit

![Mapping fields in the Spree product importer](/docs/images/user/products/import-products/6-map-fields.png)

With the file uploaded, you’ll now be prompted to map your file’s columns to Spree’s internal fields.

Spree will try to match fields automatically when names are identical (or very similar), but you can manually select destination fields from the dropdowns on the right-hand side column for any unmatched, or incorrectly mapped fields.

Once satisfied, click **Continue** in the bottom-right corner to submit the file for import.

### Step 3: Monitor Import Status

![Spree CSV importer processing product rows](/docs/images/user/products/import-products/7-import-processing.png)

After submitting the file, you'll be redirected to a processing screen where you can monitor the progress of the import. All that’s left to do is wait until the import has finished processing 

<Note>If there are any errors in your file (e.g., missing fields, duplicate values), the processing screen will indicate the error with an error message on the affected row.</Note>

## Update Products in Bulk

You can also use the product importer to update existing products in your catalog.

To do so:

1. [<u>Export your product catalog</u>](https://spreecommerce.org/docs/user/manage-products/export-products) from the Products tab
2. Make any necessary changes directly in the file
3. Re-import the updated file through the product importer

<Warning>When updating products in bulk, make sure to keep the slug exactly the same for each existing product. The slug is the unique identifier used during import - changing it will cause Spree to treat the row as a new product and create a duplicate record.</Warning>

This is the safest and most efficient way to make large-scale updates to product data such as pricing, descriptions, inventory, or metafields.
